package com.itlong.cloud.POJO.PO;

import com.itlong.cloud.annotation.ItlField;
import com.itlong.cloud.annotation.ItlTables;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * <desc>
 *      APP访客通行密码记录实体类
 * </desc>
 *
 * @createDate 2017/10/30
 */
@Data
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@ItlTables("app_visitor_pass_code_record")
public class AppVisitorPassCodeRecordPO extends BasePO{
    @ItlField(value = "pass_id",logicKey = "key")
    private String passId;         //通行密码记录id
    @ItlField("interviewee_name")
    private String intervieweeName;     //受访人姓名
    @ItlField("visitor_name")
    private String visitorName;     //访客姓名
    @ItlField("visitor_phone")
    private String visitorPhone;    //访客手机号
    @ItlField("visitor_id_card")
    private String visitorIdCard;   //访客身份证
    @ItlField("idcard_key")
    private String idcardKey;   //身份证序列号
    @ItlField("build_id")
    private String buildId;     //楼栋id
    @ItlField("unit_id")
    private String unitId;      //单元id
    @ItlField("num")
    private Integer num;            //次数限制
    @ItlField("use_num")
    private Integer useNum;         // 已使用次数
    @ItlField("start_time")
    private Date startTime;         //有效起始时间
    @ItlField("end_time")
    private Date endTime;           //有效结束时间
    @ItlField("password")
    private String password;        //通行密码
    @ItlField("project_id")
    private String projectId;       //项目id
    @ItlField("device_id")
    private String deviceId;        //设备id 多个以,号分隔
    @ItlField("user_id")
    private String userId;          //创建该密码的用户id
    @ItlField("qrcode_url")
    private String qrcodeUrl;       //二维码url
    @ItlField("qrcode")
    private String qrcode;          //二维码生成信息
    @ItlField("face_pic_url")
    private String facePicUrl;       //人脸头像地址
    @ItlField("v_face_id")
    private String vFaceId;         // 百度中的人脸编号
    @ItlField("delete_flag")
    private String deleteFlag;         // 访客人脸删除标记:0:未处理,1:已处理
    @ItlField("room_id")
    private String roomId;          //房间id
    @ItlField("floor_num")
    private String floorNum;        //楼层号
    @ItlField("source")
    private Integer source;         //来源 1app 2物业 3云对讲SDK
    @ItlField("visitor_cause")
    private String visitorCause;    //访客事由
    @ItlField("send_message_count")
    private Integer sendMessageCount;//重发短信的次数(不能超过三次)
    @ItlField("is_push_message")
    private Integer isPushMessage;    //是否已向前端推送APP添加访客的消息 0代表未推送 1代表已推送
    @ItlField("type")
    private Integer type;       //动态密码类型 0在线验证 1脱机验证
    @ItlField("visitor_uuid")
    private String visitorUuid;    //访客二维码随机字符串 与访用户通行记录表中的visitor_uuid相关联
    @ItlField("check_status")
    private Integer checkStatus;       //物业审核状态 0代表未审批 1代表审批通过 2代表审批拒绝
    @ItlField("check_operator")
    private String checkOperator;    //物业审批人员
    @ItlField("check_time")
    private Date checkTime;    //物业审批时间
    @ItlField("pass_number")
    private String passNumber;    //访客单号
    @ItlField("plate_number")
    private String plateNumber;    //车牌号
    @ItlField("owner_check_status")
    private Integer ownerCheckStatus;       //业主审核状态 0代表未审批 1代表审批通过 2代表审批拒绝
    @ItlField("interviewee_phone")
    private String intervieweePhone;    //受访人手机号visitor_order_qrcode_url
    @ItlField("visitor_order_qrcode_url")
    private String passQrCodeUrl;    //访客单号生成二维码URL
    @ItlField("owner_check_time")
    private Date ownerCheckTime;    //业主审批时间
    @ItlField("batch")
    private Integer batch;      //批次
    @ItlField("mac")
    private String mac;         //mac码
    @ItlField("main_door_elevator_auth")
    private String mainDoorElevatorAuth;    //正门电梯临时权限 {"0001":"1,2","0002":"1,2"} key为机号 value为楼层
    @ItlField("back_door_elevator_auth")
    private String backDoorElevatorAuth;    //背门电梯临时权限 {"0001":"1,2","0002":"1,2"} key为机号 value为楼层
    @ItlField("temporary_auth_device_uniques")
    private String temporaryAuthDeviceUniques;    //临时权限设备唯一码集合,多个以逗号隔开
    @ItlField("build_id_temporary_auth")
    private String buildIdTemporaryAuth;    //临时权限的楼栋ID,多个以逗号隔开
    @ItlField("unit_id_temporary_auth")
    private String unitIdTemporaryAuth;    //临时权限的单元ID,多个以逗号隔开
    @ItlField("owner_auth_device_unique")
    private String ownerAuthDeviceUnique;    //拜访房间业主门禁+云对讲的地址权限+临时权限设备唯一码集合
    @ItlField("temporary_auth_type")
    private Integer temporaryAuthType;      //临时权限设备类型 0全部 1部分设备
    private String url;             //h5url

    private String result;     //此字段用于业务实现层返回结果给controller层 0正常返回 1 次数为0，添加访客失败，2您的二维码授权已过有效期，添加访客失败，其他情况 您当前剩余通行次数为X,仅能创建<=X次通行记录，添加访客失败
    private Integer chargeMode;     //房间收费模式 1按次 2按有效期
}
